package org.x.legalcasemod.entity;

import cn.idev.excel.annotation.ExcelProperty;
import com.mybatisflex.annotation.*;
import lombok.Data;
import org.x.commonmod.GlobalEnumConverter;
import org.x.commonmod.enums.AuditStatus;
import org.x.commonmod.enums.EvidenceType;
import org.x.commonmod.enums.MaterialType;
import org.x.commonmod.enums.PreviewType;

import java.lang.Long;
import java.util.Date;
import java.lang.String;
import java.lang.Integer;

/**
 * 案件材料表 实体类。
 *
 * @author mybatis-flex-helper automatic generation
 * @since 1.0
 */
@Table(value = "case_material")
@Data
@UseDataSource("caseDS")
public class CaseMaterialEntity {

    /**
     * 材料ID
     */
    @Id(keyType = KeyType.Auto)
    @ExcelProperty("材料ID")
    private Long id;

    /**
     * 关联案件编号
     */
    @Column(value = "case_no")
    @ExcelProperty("关联案件编号")
    private String caseNo;

    /**
     * 材料类型
     */
    @Column(value = "material_type")
    @ExcelProperty(value = "材料类型", converter = GlobalEnumConverter.class)
    private MaterialType type;

    /**
     * 材料名称
     */
    @Column(value = "material_name")
    @ExcelProperty("材料名称")
    private String materialName;

    /**
     * 存储路径
     */
    @Column(value = "storage_path")
    @ExcelProperty("存储路径")
    private String url;

    /**
     * 上传时间
     */
    @Column(value = "upload_time")
    @ExcelProperty("上传时间")
    private Date uploadTime;

    /**
     * 审核状态
     */
    @Column(value = "audit_status")
    @ExcelProperty(value = "审核状态", converter = GlobalEnumConverter.class)
    private AuditStatus auditStatus;

    /**
     * 审核意见
     */
    @Column(value = "audit_comment")
    @ExcelProperty("审核意见")
    private String auditComment;

    /**
     * 证据效力评分(0-100)
     */
    @Column(value = "evidence_score")
    @ExcelProperty("证据效力评分(0-100)")
    private Integer evidenceScore;

    /**
     * 证据类型
     */
    @Column(value = "evidence_type")
    @ExcelProperty(value = "证据类型", converter = GlobalEnumConverter.class)
    private EvidenceType evidenceType;

    /**
     * 预览类型
     */
    @Column(value = "preview_type")
    @ExcelProperty("预览类型")
    private PreviewType previewType;

    /**
     * 关联模板ID
     */
    @Column(value = "template_id")
    @ExcelProperty("关联模板ID")
    private String templateId;

}
